import { configureStore } from "@reduxjs/toolkit";
import appSlice from './app/appSlice'
import adminUserSlice from './adminUser/adminUserSlice'
import whiteRegisterSlice from './whiteRegister/whiteRegisterSlice'
import whiteDeviceSlcie from './whiteDevice/whiteDeviceSlice'
import whiteAuditSlice from './whiteAudit/whiteAuditSlice'
import withdrawGearSlice from './withdrawGear/withdrawGearSlice'
import withdrawChannelSlice from './withdrawChannel/withdrawChannelSlice'
import versionSlice from './version/versionSlice'
import rankingSlice from './ranking/rankingSlice'
import settingCountrySlice from './settingCountry/settingCountrySlice'
import noticeSlice from './notice/noticeSlice'
import gameClassifySlice from './gameClassify/gameClassifySlice'
import gameSlice from './game/gameSlice'
import searchUserSlice from './searchUser/searchUserSlice'
import userFlowSlice from './userFlow/userFlowSlice'
import totalUserSlice from './totalUser/totalUserSlice'
import userExportSlice from './userExport/userExportSlice'
import totalDateExportSlice from './totalDateExport/totalDateExportSlice'
import totalSumSlice from './totalSum/totalSumSlice'
import totalNewsSlice from './totalNews/totalNewsSlice'
import totalRetentionSlice from './totalRetention/totalRetentionSlice'
import whiteHoldSlice from './whiteHold/whiteHoldSlice'
import withdrawRecordSlice from './withdrawRecord/withdrawRecordSlice'

const store = configureStore({
  reducer: {
    app: appSlice,
    adminUser: adminUserSlice,
    whiteRegister: whiteRegisterSlice,
    whiteDevice: whiteDeviceSlcie,
    whiteAudit: whiteAuditSlice,
    withdrawGear: withdrawGearSlice,
    withdrawChannel: withdrawChannelSlice,
    version: versionSlice,
    ranking: rankingSlice,
    settingCountry: settingCountrySlice,
    notice: noticeSlice,
    gameClassify: gameClassifySlice,
    game: gameSlice,
    searchUser: searchUserSlice,
    userFlow: userFlowSlice,
    totalUser: totalUserSlice,
    userExport:userExportSlice,
    totalDateExport:totalDateExportSlice,
    totalSum: totalSumSlice,
    totalNews: totalNewsSlice,
    totalRetention: totalRetentionSlice,
    whiteHold: whiteHoldSlice,
    withdrawRecord: withdrawRecordSlice
  },
})

export type RootState = ReturnType<typeof store.getState>
export type AppDispatch = typeof store.dispatch

export default store